﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Common;

namespace BusinessLogic
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IUserWCF" in both code and config file together.
    [ServiceContract]
    public interface IUserWCF
    {
        [OperationContract]
        void Register(User u);

        [OperationContract]
        void AllocateRole(User user, Common.Type type);

        [OperationContract]
        Common.Type GetRole(int typeID);

        [OperationContract]
        IEnumerable<Country> GetCountries();

        [OperationContract]
        bool DoesEmailExist(string email);

        [OperationContract]
        bool DoesUsernameExist(string username);

        [OperationContract]
        bool UserAuthentication(string username, string password);

        [OperationContract]
        User GetUserByUsername(string username);

        [OperationContract]
        Common.Type getUserType(int id);
    }
}
